import common.FilesReader;
import common.ParseException;
import elems.Clazz;

import java.io.IOException;
import java.util.ArrayList;

public class Main {

    public static void main(String[] args) throws IOException, ParseException {
        // FilesReader.getStrings("./") возвращает список всех строк во всех папках всех .mif файлов
        // Все строки имеют правильные отступы. Каждый файл предверен комментариями о его включении
        ArrayList<String> strs = FilesReader.getStrings("./");
        for (int i = 0; i < strs.size(); i++)
            System.out.println((i+1) + "!!" + strs.get(i) + "!!");

        System.out.println();
        System.out.println();
        System.out.println();

        Clazz clazz = new Clazz(null, -1);
        for (int i = 0; i < strs.size(); i++)
            clazz.addString(i + 1, strs.get(i), (i + 1 < strs.size()) ? strs.get(i + 1) : null);

        /*ArrayList<String> texts = new ArrayList<String>();
        ArrayList<String> values = new ArrayList<String>();
        String text = "{112{}}2{3}";

        String tStr = "";
        int blockCount = 1;
        for (int i = 1; i < text.length(); i++) {
            if(text.charAt(i)=='{'){
                blockCount++;
                if(blockCount==1){
                    values.add(tStr);
                    tStr="";
                    continue;
                }
            }
            if(text.charAt(i)=='}'){
                blockCount--;
                if(blockCount==0){
                    texts.add(tStr);
                    tStr="";
                    continue;
                }
            }
            tStr+=text.charAt(i);
        }

        String str = "";
        for (int i = 0; i < texts.size(); i++) {
            str += "["+texts.get(i)+"]";
            if (values.size() > i)
                str += "(" + values.get(i) + ")";
        }
        System.out.println(str);*/
    }

}
